package com.homework.exam02.Event;/*
 *@Author: helen
 *@Date:   2021/4/17 21:08
 *@Description:
 */

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

@Component
public class NoticeListener implements ApplicationListener<NoticeEvent> {

    private static final Logger logger = LoggerFactory.getLogger(NoticeListener.class);
    @Async("taskThread")  //异步执行
    @Override
    public void onApplicationEvent(NoticeEvent noticeEvent) {
        logger.info("事件监听器获取到 NoticeEvent. 睡眠当前线程2秒....");
        try {
            TimeUnit.SECONDS.sleep(2);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        logger.info("NoticeEvent 的 message 属性是：{}", noticeEvent.getMessage());
    }
}
